USB technology is a Serial Bus standard allowing communication between a host and a peripheral, supporting hot swap and Plug and Play, presently in extensive use. With rapid development of USB devices, an increasing number of USB devices have being applied to various OSs. Diversity in designs of OSs leads to diversified features in their support to a USB device. Therefore, manufacturers face a problem of how to distinguish an OS a USB device is being plugged in.
There are mainly two existing OS identifying methods. According to one OS identifying method, a program is installed beforehand on an OS, and a Personal Computer (PC) may determine a type of an OS by sending an OS-dependent identifying command to a USB device. With such an OS identifying method, for different OSs, different programs have to be installed, different identifying commands have to be agreed upon, and only a Windows OS, a Linux OS and a MACOS can be distinguished; a release of a Microsoft Windows OS cannot be distinguished using such a method. According to the other OS identifying method, a type of an OS may be determined according to a USB-specific descriptor, implementing automatic identification. Likewise, with such an OS identifying method, only a Windows OS and a Non-Windows OS can be distinguished; no specific release of a Microsoft Windows OS can be distinguished either.